package com.tansun.easycare.rule.referencedata.dao;

import java.util.Collection;
import java.util.List;
import java.util.Map;

import com.tansun.easycare.rule.common.dao.RuleBaseDao;
import com.tansun.easycare.rule.referencedata.entity.RuleReferenceData;
import com.tansun.easycare.rule.ruleflow.entity.RuleFlowRects;

/**
 * 规则引用数据DAO接口
 *
 * @author lixs
 * @version 2017-03-23
 */

public interface RuleReferenceDataDao extends RuleBaseDao<RuleReferenceData> {

    /**
     * 查找引用数据
     */
    List<RuleReferenceData> findReferenceDataList(RuleReferenceData referenceData);

    /**
     * 查找发布版本引用数据
     */
    List<RuleReferenceData> findPublishList(RuleReferenceData referenceData);

    /**
     * 查找引用规则模型信息
     */
    List<RuleReferenceData> findPublishRuleReferenceList(RuleReferenceData referenceData);
    
    void deleteByManage(RuleReferenceData referenceData);
    /**
     * 查看是否引用 判断是否删除
     */
	List<RuleReferenceData> findReferenceParamList(RuleReferenceData referenceData);
	/**
	 * 查看是否冠军挑战者模式
	 */
	Collection<RuleReferenceData> findReferenceChampionList(RuleFlowRects flowRectsInfo);
	
	
	List<RuleReferenceData>   findModelReferenceList(Map<String,Object> map);

    void deleteByMutilVersion(Map<String,Object> map);
    
    List<RuleReferenceData>  findReferenceModelList(RuleReferenceData referenceData);
}